package com.ddzh.web;

import com.ddzh.entity.Result;
import com.ddzh.pojo.CheckItem;
import com.ddzh.entity.PageReq;
import com.ddzh.entity.PageRes;
import com.ddzh.service.CheckItemService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.*;



@RestController
@RequestMapping("/item")
//@PreAuthorize("hasRole('ROLE_aaa')")//权限也是写死的
public class CheakItemController {

    @Reference
    private CheckItemService checkItemService;

    @PostMapping("/save")
    public Result save(@RequestBody CheckItem checkItem){
//        return checkItemService.save(checkItem);
//        return new Result(checkItemService.saveOrUpdate(checkItem));//效率会有点低，
        return new Result(checkItemService.saveOrUpdateItem(checkItem));
        /* 因为每次添加数据的时候也会进行一次全表查询，判断该条数据是否已经存在
            通常只有更新的时候需要查询
            一般后台管理系统不会在乎这么点效率，因为后台管理的事情就是录入数据
            集合实际情况，判断，要求高效率时，可以用if判断增加还是修改

         */
    }

    @GetMapping("/findAll")
    public Result findAll(){
        return new Result(checkItemService.list());
    }

    @PostMapping("/findByPage")
    public Result findByPage(@RequestBody PageReq pageReq){
        PageRes<CheckItem> pageRes = checkItemService.findByPage(pageReq);
        return new Result(pageRes);
    }

    @PostMapping("/update")
    public Result update(@RequestBody CheckItem checkItem){
        return new Result(checkItemService.updateById(checkItem));
    }

    @GetMapping("/delete")
    public Result delete(Long id){
        return new Result(checkItemService.deleteById(id));
    }
}
